The invention relates to client-server systems, and especially to web based client-web server-application server systems for delivering object data from the application server through the web server to the client.
Normally, web communications, including data requests and data delivery, are carried out in the TCP/IP (Transmission Control Protocol/Internet Protocol) environment via a CGI (Common Gateway Interface) application. The Web page displayed on the client browser is linked to the CGI application in a remote server through a URL (Universal Resource Locator) embedded in the Web Page. The end user at the client clicks on the URL, which launches the CGI application on the Web Server, and causes a form, typically in HTML or XML format, to be delivered to the end-user at the client. The end user at the client supplies the requested information, as a search request, an order, a user id and password, or the like, and sends the data back to the CGI program. The xe2x80x9csendxe2x80x9d operation, typically a mouse click on a virtual pushbutton on the screen, terminates the CGI session. That is, the CGI session is not persistent.
Meanwhile, the CGI application translates the query or information into a form or format understandable by an application running on an application server. The application server, or more specifically, the application running on the application server, can be a database application or an e-commerce application, or the like. The web server sends the query or information to the application server. The application server performs the requested task, as a database search, an order entry, or the like, and transmits a response back to the CGI application. The CGI application receives the response, translates the response, formats or reformats the response into a markup language format, initiates a new session with the client, and sends the markup language formatted information back to the client.
Within the limits of markup languages, as HTML, DHTML, XML, and the like, this is satisfactory. However, it is frequently necessary to preserve the logic, metadata, or schema of the transmitted information sent by the application server. This requires persistence across multiple requests, special tags, translation of the special tags, and the ability to send and receive objects not supported by markup languages.
According to the invention there is provided a method and system for passing information between a client and an application server through a web server using a markup language. The system and method include a browser running on the client for an end user to enter information for the application server and receive information from the application server, where the application server contains application resources, as database management system and data, or an e-commerce application. The web server provides communications between the application server and the browser, and includes an interface application running on the web server. The interface application sends a markup language form with encoded metadata information in standard markup language form to the client, and receives information, including responses to the encoded metadata information, from the client. The interface on the web server sends information to the application server based upon the information received from the client and information in response to the encoded metadata information. These are translated into a form understandable by the application and sent to the application. The interface receives responsive information from the application server, such as responsive information including function objects and application objects called by the embedded tags. The interface converts the responsive information received from the application server into markup language, and transmits the converted information to the client. The session is persistent; that is, it does not end with the submission from the client to the web server.
The files that contain (HTML+special tags) are stored on the webserver. The typical sequence of events is:
1. The user using the browser either clicks on a link, or types in a URL. This request is sent from the browser to the webserver and/or the web engine.
2. The webserver and/or web engine gets the request, and loads one or more files containing a markup language and special tags.
3. The webserver and/or web engine reads the file(s), translates those special tags, and makes calls to the application server.
4. The webserver and/or web engine sends back a response to the browser. The response contains application specific data, as Siebel data, metadata information, all encoded in standard markup language (HTML). There need not be special tags in the response.